Many modern computer systems are provided with a color monitor to display output information such as, for example, graphic images in full color. Accordingly, it is necessary to provide a storage device to store the color information relating to the images to be displayed on the screen of the color monitor. Typically, the color monitor comprises a cathode ray tube having a screen with red, green and blue phosphors. An electron gun arrangement includes a red electron gun, a green electron gun and a blue electron gun. The electron guns are operated simultaneously to scan the screen from, for example, left to right, through a series of rows from the top of the screen to the bottom of the screen.
During the traversal of each row, the electron gun arrangement transmits a series of simultaneous red, green and blue signals to the color phosphors of the screen at a series of horizontally spaced points or locations within the particular row on the screen. Each point or location on the screen that receives one of the series of simultaneous red, green and blue signals represents a point or element of the entire image to be displayed. The color emitted by the color phosphors at any particular point or location on the screen is a function of the relative intensities of the red, green and blue signals transmitted by the electron gun arrangement to that point. As should be understood, red, green and blue are primary colors whereby any other color can be derived from a blending of red, green and blue light depending upon the relative amount of each primary color.
In order to store information relating to an image to be displayed in color, it is necessary to store color data for each of the image elements that comprise the rows of horizontal screen locations impacted by the scanning operation of the electron gun arrangement. Each image element is called a pixel and a storage device must be provided to store the color data for each pixel in an orderly manner so that the pixel data can be retrieved from the storage device and processed to control the operation of the electron gun arrangement.
Color can be regarded as a three-dimensional value, which means that three values can be used to define a particular color in a unique fashion. The above-described color monitor operates on the basis of color definition provided by the red, green and blue constituents of the color for each pixel. Accordingly, the data for each pixel can comprise a red value, a green value and a blue value.
A "color space" refers to a three-dimensional space used to define, by analogy, the three values required to represent a particular color. For example, in the operation of the electron gun arrangement of the color monitor, each color comprises a red component, a green component and a blue component. This color information can be defined in terms of an RGB (red-green-blue) space with X, Y and Z coordinates corresponding to the red, green and blue components, respectively. The X, Y and Z coordinates define a volume with any given point within the volume corresponding to a unique color represented by the red, green and blue values of the coordinates of that point.
An RGB space is a convenient color space for use in storing color information because both the electron gun arrangement and color phosphor structure of the screen operate on the basis of red, green and blue constituent signals to provide color. However, present knowledge of human physiology indicates that the human visual system processes color information in accordance with an achromatic and two chromatic dimensions. The achromatic dimension is related to the "brightness" of the color and the chromatic dimensions are separated into two so-called "opponent" chrominance dimensions: red versus green and blue versus yellow.
Thus, when color information is stored in accordance with an RGB space definition of color, any processing modifications to the values of the red, green and blue components to, for example, adjust the color image on the monitor screen will not be of a high perceptual quality to a human user. Accordingly, it has been recognized that it would be desirable to store color information in accordance with achromatic and chromatic dimensions and to process the achromatic dimension separately from the chromatic dimensions to provide image processing that more closely coincides with the fundmental color processing mechanisms of human perception.
One known color space that is based upon achromatic and chromatic dimensions (generally referred to as a luminance-chrominance space or LC.sup.2 space) is the HLS space, wherein H stands for hue, L stands for luminance and S stands for saturation. The HLS space is represented by polar coordinates i.e. a magnitude and an angle relative to the X, Y, Z coordinates. L is defined by the formula L=(min RGB+max RGB)/2. The hue and saturation components, H and S, are determined in a chrominance plane which lies at a fixed value of L, e.g., L=1/2. Chrominance is defined in terms of the hue and saturation magnitude. The hue is represented by an angle, the hue angle, and is cyclic, running from 0.degree. to 360.degree. as color changes from blue to green to yellow to orange to red to purple and back to blue again. The saturation magnitude corresponds to the length of the line defined by the hue angle and varies from zero, meaning gray regardless of hue angle, to unity or saturation, meaning a pure hue, as defined by the particular hue angle, with no admixture of white.
In an RGB to HLS translation, the R,G,B values for a given color are scaled up or down to determine the red, green and blue values at L=1/2. The functions used to calculate H and S depend upon the relative sizes of the scaled red, green and blue components. For example, if the red component of a particular color is the largest and the blue component is the smallest, then the particular color lies somewhere in the area between red, yellow and gray. In this instance, S=R-B and H=60.degree. * (G-B)/(R-B). Similar formulas can be derived to provide S and H values for all other relative sizes of the red, green and blue components for all of the colors within the visual color spectrum. To reverse the computation, i.e., a calculation of RGB values to operate the electron gun arrangement from stored HLS values, the formula for S and H would be inverted to provide RGB values at L=1/2 and the calculated RGB values would be scaled up or down to provide the RGB values at the actual L value of the color to be displayed.
While an HLS space provides achromatic and chromatic components, a major disadvantage is that the hue and saturation chrominance components are not independent from one another, particularly in terms of the opponent red-green and blue-yellow chrominance dimensions used in the human visual system. In addition, the polar coordinate system used to define the HLS space is not linear and involves a high degree of complexity in the computations required for RGB to HLS and HLS to RGB translations.
To reduce computational complexity, a linear space is preferred. A linear space is one in which the computations required to translate to or from RGB values only involve multiplication by fixed coefficients and addition. The American television industry has adapted a standard linear color space, called a YIQ space, for use in processing color signals. Y corresponds to genuine luminance, and is a function of the relative luminosity of each of the color phosphors used in the television screen. The I and Q components are selected to provide some compression of chrominance values into separate color space components without affecting flesh tones, which, in the context of the television industry, are considered critical to apparent color quality. In addition, for compatibility with existing black and white television sets, the Y signal is selected so that the Y signal alone could be used for black and white broadcasts.
With the advent of digital high-definition color television, the television industry has adapted another linear color space referred to as a YUV space, wherein Y corresponds to the genuine luminance value used in the YIQ space and the U and V components lie at approximately 45.degree. angles to the I and Q components and closely approximate the red/green and blue/yellow opponent chrominance dimensions of the human visual system. More precisely, the U and V components correspond to (red--luminance) and (blue--luminance) values, respectively.
A disadvantage of the YIQ and YUV color spaces, as well as linear spaces in general, is that the chromatic dimensions are not completely decoupled from the achromatic dimension, as would be necessary to accurately approximate human physiology. This is due to the rectangular relationship between the achromatic and chromatic coordinates of the linearly tranformed color space as directly derived from the rectangular RGB coordinates of the RGB space.
Another disadvantage of any linear color space that is derived directly from an RGB space is that, in geometric terms, the linear transformation takes the rectangular box defined by the RGB coordinates and places it within a superimposed rectangular box defined by the new linear space. Due to the linear coefficient multiplication and addition required to achieve the transformation, the rectangular box defined by the new linear space would be disposed at an angular relation to the RGB rectangular box and would have to be of larger dimensions so as to completely enclose the RGB rectangular box.
The new rectangular box would have to enclose completely the RGB rectangular box inasmuch as each and every color value defined by all of the points within the RGB color space must also lie within the new color space to enable a complete transformation between the color spaces. Accordingly, there would be a great many points within the larger rectangular box that do not also lie within the RGB rectangular box. In physical terms, this means that many colors which can be described in, for example, YUV or YIQ space are not actually displayable by the RGB electron gun arrangement. Thus, much of a linear space is wasted and will never be used. Indeed, it has been determined that up to 50% of a linear space directly derived from an RGB space may be unusable.
A practical consequence of the larger dimensions of the transformed linear space is that each point may require a greater number of bits to uniquely define the point within the transformed space, relative to the number of bits needed to uniquely define the point within the smaller RGB space. The extra bits take up memory space and use excessive bandwidth during data transmissions.
Another consequence is that upon processing of the transformed values, these values may be projected into those portions of the larger rectangular box outside the RGB rectangular box and therefore define a point which is not translatable back into displayable RGB values.
Accordingly, each of the heretofore known color spaces have inherent disadvantages which preclude an efficient linear transformation from and into RGB values using an achromatic dimension and pure and independent chromatic dimensions which are completely decoupled from the achromatic dimension and which can be defined to coincide with the opponent red-green and blue-yellow chrominance dimensions of the human visual system.